import i18n from 'i18next'
import {initReactI18next} from 'react-i18next'
import {uniqueId} from 'lodash/uniqueId'
import en from './en'
import zh from './zh-cn'

// 默认语言
const defaultLanguage = 'zh-CN'

// 初始化
// https://react.i18next.com/latest/using-with-hooks
i18n.use(initReactI18next).init({
  resources: {
    en: {
      translation: en,
    },
    'zh-CN': {
      translation: zh,
    },
  },
  lng: localStorage.getItem('i18n'),
  fallbackLng: defaultLanguage,
  debug: false,
  interpolation: {
    escapeValue: false, // not needed for react as it escapes by default
  },
})

// 当用户切换语言时，同步到缓存中
i18n.on('languageChanged', lng => {
  localStorage.setItem('i18n', lng)
})

export default i18n
